/*************************************************************************
	> 文件名: 18-10.c
	> 作者: 马海城
	> 邮箱: hchma@outlook.com
	> 创建日期: 2015年11月11日 星期三 17时54分26秒
 ************************************************************************/

#include<apue.h>
#include<termios.h>

int main()
{
    struct termios term;
    long vdisable;

    if(isatty(STDIN_FILENO) == 0)
        err_quit("standard input is not a terminal device");
    if(isatty(STDOUT_FILENO) == 0)
        err_quit("standard output is not a terminal device");

    if((vdisable = fpathconf(STDIN_FILENO, _PC_VDISABLE)) < 0)
        err_quit("fpathconf error or _POSIX_VDISABLE not in effect");

    if(tcgetattr(STDIN_FILENO, &term) < 0)
        err_sys("tcgetattr error");

    term.c_cc[VINTR] = vdisable;
    term.c_cc[VEOF] = 2;

    if(tcsetattr(STDIN_FILENO, TCSAFLUSH, &term) < 0)
        err_sys("tcsetattr error");
}
